#ifndef _EXPORT_DESIGN_SCRIPT_H_
#define _EXPORT_DESIGN_SCRIPT_H_

#include <memory>

struct lua_State;
class Design;
class LuaOutputWrapper;
class LuaUnitInfoWrapper;

class ExportDesignScript
{
public:
  ExportDesignScript(const Design& design, int raceID);
  virtual ~ExportDesignScript();

  wxString Process(const wxString& script);

private:
  lua_State* Machine;
  std::auto_ptr<LuaOutputWrapper> OutputStream;
  std::auto_ptr<LuaUnitInfoWrapper> UnitInfo;
};

#endif // _EXPORT_DESIGN_SCRIPT_H_
